;Rom-Aufteilung

TFMX		equ	$ea700

Stack		equ	$1000000

;VIDEORAM-Aufteilung

	; Aufteilung des Video-rams

	; $0000 - $xxxx	; Pattern Memory

	; $c000 - $d000	; Scroll B Pattern Table
	; $d000 - $e000 ;
	; $e000 - $f000	; Scroll A Pattern Table
	; $f000 - $f400	; H-Scroll Table
	; $f400 - $f680	; Sprite Attribute Table

Score_VRam1	equ	$f680		;Score Slot I	(416 Byte)
Score_VRam2	equ	$f820		;Score Slot II	(512 Byte)
Score_VRam3	equ	$fa20		;Score Slot III (256 Byte)
Score_VRam4	equ	$fb20		;Score Slot IV  (256 Byte)
Score_VRam5	equ	$fc20		;Score Slot V	(128 Byte)
Score_VRam6	equ	$fca0		;Score Slot VI	(128 Byte)
Score_VRam7	equ	$fd20		;Score Slot VII	(128 Byte)
Score_VRam8	equ	$df80		;Score Slot VIII(128 Byte)
;		-	$fda0
;		-	$ff00

Nutz_VRam	equ	$ba00		;Platz fr Mr Nutz (2048 Byte)
Slots_VRam	equ	$8800		;Platz fr Gegner Slots (28 32*32 Slots)

Extras_VRam	equ	$d000		;Standart-Objekte
Flames_VRam	equ	$b000		;Flammen, Exit-teile
Exit2_VRam	equ	$fda0		;Exit-teile

Sky_FontVRam		equ	$0000
Sky_ParaVRam		equ	Sky_FontVRam+$3200
Sky_PWolkeVRam		equ	Sky_ParaVRam+2176	;Platz fr Wolken-Parallax (1024 Byte)
Sky_EnemyVRam		equ	Sky_PWolkeVRam+1024
Sky_Enemy2VRam		equ	Sky_EnemyVRam+6976

Warp_EnemyVRam		equ	Sky_PWolkeVRam+1024	;Platz fr Hhner etc.

Water_FontVRam		equ	$0000
Water_ParaVRam		equ	Water_FontVRam+22912
Water_PBubblesVRam	equ	Water_ParaVRam+1920	;Platz fr Bubble-Parallax (832 Byte)
Water_EnemyVRam		equ	Water_PBubblesVRam+832
			;	-$9f00

Water_BlackVRam		equ	$ff00

Under_FontVRam		equ	$0000
Under_ParaVRam		equ	Under_FontVRam+19328
Under_Para2VRam		equ	Under_ParaVRam+6304
Under_EnemyVRam		equ	Under_Para2VRam+3872
			;	-$af40

Under_WaterVRam		equ	$ff00

Tekkno_FontVRam		equ	$0000
Tekkno_ParaVRam		equ	Tekkno_FontVRam+19040
Tekkno_Para2VRam	equ	Tekkno_ParaVRam+7712
Tekkno_SpriteVRam	equ	Tekkno_Para2VRam+352
Tekkno_EnemyVRam	equ	Tekkno_SpriteVRam+512
			;	-$aea0

Mickey_Global_VRam	equ	$b000-208*32

Nature_FontVRam		equ	$0000
Nature_ParaVRam		equ	Nature_FontVRam+17120
Nature_EnemyVRam	equ	Nature_ParaVRam+8480
			;	-$b000

Nature_WaterVRam	equ	$ff00

Inka_FontVRam		equ	$0000
Inka_ParaVRam		equ	Inka_FontVRam+17248
Inka_EnemyVRam		equ	Inka_ParaVRam+5280
			;	-$9280

;Work-Ram Aufteilung

WorkRam		equ	$ff0000

	rsreset
	; Interupt-Variables
Int_HBlank		rs.b	6
Int_VBlank		rs.b	6

	; Global-Variables

Glo_Help		rs.l	1
Glo_Score		rs.l	1
Glo_Leveltable		rs.l	1
Glo_QuitCount		rs.w	1
Glo_Display		rs.w	1
Glo_Kette		rs.w	1
Glo_Level		rs.w	1
Base_Coltab		rs.l	1
Init_ParaFadeOut	rs.l	1
GlobalJoyX		rs.b	1
VBlank_Flag		rs.b	1
GlobalJoyY		rs.b	1
GlobalJoyY_S		rs.b	1
GlobalJoyFire		rs.w	1
GlobalJoyFire_S		rs.w	1
Rec			rs.w	1
Play			rs.w	1
Act_Steer_Offs		rs.w	1
GemVramAdrs		rs.l	1
WaterInOut		rs.b	1
NoTestFlyHP		rs.b	1
Akt_Copper_Frame	rs.b	1
Trainer			rs.b	1
Control_Flag		rs.b	1
Win			rs.b	1
Is_Fading		rs.b	1
Trainer_Return		rs.b	1
Dont_Render		rs.b	1
Global_QuitVerz		rs.b	1

SongFile		rs.b	1
SongNr			rs.b	1

Dead			rs.b	1
Dead_Time		rs.b	1

Finish			rs.b	1
Frame_Flag		rs.b	1

Y_Dead_Allowed		rs.b	1
Glo_JoyPad		rs.b	1


Cont_Which		rs.b	1
Cont_Verz		rs.b	1
Cont_Show		rs.b	1
second_start_release	rs.b	1
button_pressed_flags	rs.b	1
Return_Code		rs.b	1
FJump_Bit		rs.b	1
Jump_Bit		rs.b	1
Flash_Bit		rs.b	1
Glo_Spur		rs.b	1
Dont_render_Parallax	rs.b	1
			rs.b	1

Exit_X_Pos		rs.w	1
Exit_Y_Pos		rs.w	1
Exit_AnVerz		rs.b	1
Exit_AnPos		rs.b	1

PlayBubble		rs.w	1
Last_Water_Move_Eff	rs.l	1
Water_Moves		rs.w	1
Water_YPos		rs.w	1
WaterBase		rs.w	1
WaterOffset		rs.w	1
WaterLevelOffset	rs.l	1
Water_Anim		rs.w	1
Water_Frame		rs.b	1
Water_AnVerz		rs.b	1
Water_SpritePos		rs.w	1
Water_Color		rs.l	1
WaterHeadInOut		rs.b	1
WaterBubbleCount	rs.b	1
PARABase		rs.w	1
LAVABase		rs.w	1
LAVA_Moves		rs.w	1
Last_LAVA_Move_Eff	rs.l	1

UnderWaterMax		rs.w	1
UnderWaterShift		rs.w	1
UnderWaterTest		rs.w	1
UnderWaterColors	rs.l	1

Fontne_Free		rs.w	1	;0=frei 1=besetzt
Fontne_UpDown_Flag	rs.b	1	;Flag nach oben oder unten
Fontne_Up_WaitTime	rs.b	1	;Wait Time bei Max Height
Fontne_X_Pos		rs.w	1	;X-Position der Fontne
Fontne_Y_Pos		rs.w	1	;Y-Position der Fontne
Fontne_Y_Offset	rs.w	1	;Y Schwank Offset 
Fontne_Y_Tab_Offs	rs.l	1	;offset Tabelle
Fontne_Last_Off_d0	rs.w	1	;Last d0
Fontne_Last_Off_d7	rs.w	1	;Last d7
Fontne_Height		rs.w	1	;Hhe
Fontne_Max_Height	rs.w	1	;Maximale Hhe
Fontne_Speed_Up	rs.w	1	;Aufbau Speed
Fontne_Speed_Down	rs.w	1	;Abbau Speed
Fontne_Head_Anim	rs.w	1	;Welche Anim des Kopfes
Fontne_H_IAnmSpd	rs.w	1	;Timer Wenn head Anim gemacht werden soll
Fontne_H_AnmSpd	rs.w	1	;Init Timer ^
Fontne_Scroll_Pos	rs.w	1	;Position innerhalb des 16ner Plttchens

Boss_VRam		rs.w	1

SCR_HitPoint_Soll	rs.b	1
SCR_Lifes_Soll		rs.b	1
SCR_Gems_Soll		rs.b	1
SCR_Bombs_Soll		rs.b	1
SCR_Flash_Soll		rs.b	1
SCR_Flash_show		rs.b	1
SCR_Flash_verz		rs.b	1

SCR_HitPoint_Ist	rs.b	1
SCR_Lifes_Ist		rs.b	1
SCR_Gems_Ist		rs.b	1
SCR_Bombs_Ist		rs.b	1
SCR_Flash_Ist		rs.b	1

Score_Info1		rs.w	14
Score_Info2		rs.w	20

ENTRY_ADRS		rs.l	8
Flown_Gates_Anz		rs.w	1

Main_Rout_Table		rs.l	18

Open_Door_But		rs.w	1
Venti_Off_But		rs.w	1
Falle_1_Set			rs.w	1
Falle_2_Set			rs.w	1

	;Copper-System

Copper_List		rs.l	1
Copper_Pointer		rs.l	1
Copper_Next		rs.w	1
HBL_Help		rs.b	8

	; Scroll-Structure

Scr_X_Speed		rs.l	1
Scr_Y_Speed		rs.l	1
Scr_X_Level_Pos		rs.w	1
Scr_Y_Level_Pos		rs.w	1
Scr_X_Level_Pos_Old	rs.w	1
Scr_Y_Level_Pos_Old	rs.w	1
Scr_Block_EntryAdrs	rs.l	1
Scr_Level_Width		rs.w	1
Scr_Level		rs.l	1
Scr_Level_Bits		rs.l	1
Scr_X_Supply_Adr	rs.w	1
Scr_X_Supply_Buffer	rs.b	64
Scr_Y_Supply_Adr	rs.w	1
Scr_Y_Supply_Buffer	rs.b	128
Scr_BA_Anz_Area_X	rs.w	1
Scr_Y_Max		rs.w	1
Scr_X_Real_Speed	rs.w	1
Scr_Y_Real_Speed	rs.w	1
Scr_SplitScroll		rs.b	1
			rs.b	1
Scr_X_Mask		rs.w	1
Scr_X_Min		rs.w	1

	; DMA-Handler
DMA_Pointer		rs.l	1
DMA_Help		rs.l	1
DMA_Buffer		rs.b	450		;Platz fr 32 Eintrge
DMA_Helper		rs.w	10

	; Sigel-Structures
Sig_VRam_Pointer	rs.l	1
Sig_LinkData		rs.w	1
Sig_VRam_Buffer		rs.b	640+320


Act_TEMET_Tab		rs.l	1

	;TEMET STRUCTURE
*------------------	Status FLAGS
TEMET_Other_Object	rs.w	1	;Anderes Object wird verwaltet ?
TEMET_Status		rs.w	1	;Status/ Laufen, Springen Fallen usw.
TEMET_Liane_Flag	rs.w	1	;Hngt TEMET ???
TEMET_PUNCH_FLAG	rs.w	1	;TEMET GERADE BEIM PUNCHEN
TEMET_Underwater	rs.w	1	;Darf TEMET nicht fliegen ??
TEMET_Been_HitTimer	rs.w	1	;Timer wie lange unverwundbar nach hit
TEMET_Shield_Flag	rs.w	1	;welches_shield an
TEMET_Shield_Save	rs.w	1	;Shield Save falls schon hheres Shield an
TEMET_Last_Shield	rs.w	1	;wenn neues Shield, dann altes da storen
TEMET_FLASH_JUMPER	rs.w	1	;TIMER der FLASH hochzhlt
TEMET_MAX_HitPoints	rs.b	1	;maximale Anzahl der Hitpoints
TEMET_ANZ_HitPoints	rs.b	1	;anzahl der hitPoints
TEMET_Venti_ON		rs.w	1	;Timet in Ventilator
TEMET_in_Fontne	rs.w	1	;1=Timet in Fontne
*------------------	Speed + Dir	
TEMET_Speed_X		rs.w	1	;Speed 1B Hard 2B Soft
TEMET_Speed_Y		rs.w	1	;Speed 1B Hard 2B Soft
TEMET_Speed_X_Rest	rs.w	1	;Speed 1B Hard 2B Soft
TEMET_Speed_Y_Rest	rs.w	1	;Speed 1B Hard 2B Soft
TEMET_Speed_W_X		rs.w	1	;Offset auf Speed Verz Tab X Write
TEMET_Speed_W_Y		rs.w	1	;Offset auf Speed Verz Tab Y Write
TEMET_Speed_R_X		rs.w	1	;Offset auf Speed Verz Tab X Read
TEMET_Speed_R_Y		rs.w	1	;Offset auf Speed Verz Tab Y Read
TEMET_MaxSpeed		rs.w	1	;Max Offset auf Speed Verz Tab
TEMET_Dir_X		rs.w	1	;Richtung X
TEMET_Dir_Y		rs.w	1	;Richtung Y
*------------------	Gravitys and Acceleration
TEMET_Gravity		rs.w	1	;GravitationsKraft
TEMET_Gravity_Jump	rs.w	1	;Gravity add auf Soft Y
TEMET_Gravity_WalkU	rs.w	1	;Gravity add auf Soft Y
TEMET_Gravity_WalkD	rs.w	1	;Gravity add auf Soft Y
TEMET_Gravity_FLY	rs.w	1	;Gravity add auf Soft Y
TEMET_Acce_Jump		rs.w	1	;Beim Springen
TEMET_Acce_Walk		rs.w	1	;Beim Laufen
TEMET_Acceleration	rs.w	1	;Beschleunigungskraft
TEMET_Auslaufen		rs.w	1	;Auslaufbremskraft
TEMET_Bremsen		rs.w	1	;Bremswert
TEMET_Jumpen		rs.w	1	;Jumpwert
TEMET_JumpHight		rs.w	1	;Anz. der Rasterdurchlufe in denen die Schwerkraft aufgehoben ist
TEMET_MaxJumpHight	rs.w	1	;Max. Anz der Rasterdurchlufe in denen die Schwerkraft aufgehoben ist
TEMET_AnfJumpSpeedY	rs.w	1	;Anfngliche Jump Geschwindigkeit, die auf Y Speed addiert wird
TEMET_AnfJumpSpeedB	rs.w	1	;Anfngliche Jump Geschwindigkeit, die auf Y Speed addiert wird
*------------------	Steer Flags and Values
TEMET_S_Test_Flag	rs.w	1	;S_Flag
TEMET_Up_Timer		rs.w	1	;Timer gezhlt zwischen abheben und aufkommen
TEMET_Save_a1		rs.l	1	;Pointer auf BlockEntrry
TEMET_Save_X_d2		rs.w	1	;X Offset
TEMET_New_Calc_Flag	rs.w	1	;0=Speeds nicht neue bere 1 Speeds bere
TEMET_KollisionFlag	rs.w	1	;0=keine Kolli mit Back 1 Kolli
TEMET_DirX_Equ_Flag	rs.w	1	;0=Same 1 not Same
TEMET_DirY_Equ_Flag	rs.w	1	;0=Same 1 not Same
*------------------	JoyStick Values
TEMET_Joy_X_Dir		rs.b	1	;0=Nichts -1=left 1=right
TEMET_Joy_Y_Dir		rs.b	1	;0=Nichts -1=Up   1=Down
TEMET_Joy_Up		rs.w	1	;Aufstehen
TEMET_Joy_Up_Count	rs.w	1	;Count Frames
*------------------	Positions and Offsets to Positions
TEMET_X_Position	rs.w	1	;X Pos (Level)
TEMET_Y_Position	rs.w	1	;Y Pos (Level)
TEMET_X_PLUS_OFFS	rs.w	1	;X Pos+Foot Offs
TEMET_Y_PLUS_OFFS	rs.w	1	;Y Pos+Foot Offs
TEMET_X_Koll_AnfPos	rs.w	1	:X Pos+KollAnf
TEMET_Y_Koll_AnfPos	rs.w	1	:Y Pos+KollAnf
TEMET_X_Koll_Width	rs.w	1	;X Weite des Kollisionfeldes
TEMET_Y_Koll_Height	rs.w	1	;Y Hhe  des Kollisionfeldes
TEMET_X_Koll_Offset	rs.w	1	;X Kollision Offset Left and Right Fu
TEMET_X_Foot_Offset	rs.w	1	;X Offset auf Fu
TEMET_Y_Foot_Offset	rs.w	1	;Y Offset auf Fu
*------------------	Scroll Values
TEMET_Speed_X_Scr	rs.w	1	;Scr Speed
TEMET_Speed_Y_Scr	rs.w	1	;Scr Speed
TEMET_Scr_X_Value	rs.w	1	;Auszugleichender X Wert durch Scrolling
TEMET_Scr_Y_Value	rs.w	1	;Auszugleichender Y Wert durch Scrolling
*------------------	Fly Values
TEMET_Fly_Down		rs.w	1	;Fly_Down_ALLOWED ?
TEMET_Fly_Dir		rs.w	1	;Fly_Dir
TEMET_Old_Fly_Dir	rs.w	1	;Old Fly Dir
TEMET_Fly_Offs		rs.w	1	;Offset der Fly-Anim
TEMET_Fly_Joy_Dir	rs.w	1	;Joystickrichtung
TEMET_Fly_Up_Val_X	rs.w	1	;GegenBeschleunigung zur Gravitation
TEMET_Fly_Up_Val_Y	rs.w	1	;GegenBeschleunigung zur Gravitation
TEMET_Fly_Delay		rs.w	1	;Del beim Fly Richtungswechsel
TEMET_Fly_Delay_I	rs.w	1	;Init Fly Del
*------------------	Animation Values
TEMET_Anim_Dir		rs.w	1	;Anim_Dir
TEMET_Anim_Tab		rs.l	1	;Pointer to Next Anim
TEMET_Next_Anim		rs.l	1	;Pointer to Next Anim
TEMET_Akt_Anim_Pnt	rs.l	1	;Pointer auf Anim Structure
TEMET_Anim_Delay	rs.w	1	;Del Anim
TEMET_Anim_Delay_I	rs.w	1	;Del Init Value
TEMET_Shield_ACnt_1	rs.b	1	;Offset auf Shield AnimTab
TEMET_Shield_ACnt_2	rs.b	1	;Offset auf Shield AnimTab
TEMET_Shield_ACnt_3	rs.b	1	;Offset auf Shield AnimTab
TEMET_Shield_ACnt_4	rs.b	1	;Offset auf Shield AnimTab
*------------------	TABLE LENGTH
TEMET_TAB_END		rs.w	0
TEMET_ENTRY_LENGTH	EQU	TEMET_TAB_END-TEMET_Other_Object

STONE_TABS		rs.b	TEMET_ENTRY_LENGTH*3

STONE_Tab1		EQU	STONE_TABS+WorkRam-TEMET_Other_Object
STONE_Tab2		EQU	STONE_TABS+WorkRam+TEMET_ENTRY_LENGTH-TEMET_Other_Object
STONE_Tab3		EQU	STONE_TABS+WorkRam+TEMET_ENTRY_LENGTH*2-TEMET_Other_Object

TEMET_Seil_X_Position	rs.w	1
TEMET_Seil_Y_Position	rs.w	1


TAS_Left_1_Pointer	rs.l	1
TAS_Left_2_Pointer	rs.l	1
TAS_Right_1_Pointer	rs.l	1
TAS_Right_2_Pointer	rs.l	1

	;Player Variables
Player_Info	rs.l	1
Player_Datas	rs.l	4

Player_Pointer	rs.l	1
Player_Link	rs.w	1

Lifes		rs.b	1
Bombs		rs.b	1
Continues	rs.b	1
Gems		rs.b	1
Wing		rs.b	1
		rs.b	1	;USED
WingStatus	rs.b	1
Swim		rs.b	1
Flash		rs.b	1
		rs.b	1	;USED

Joypad		rs.b	1

FlashTimer	rs.b	1
FlashWrite	rs.b	1
Box		rs.b	1

AnfGems		rs.b	1
AnfLifes	rs.b	1
AnfBombs	rs.b	1
AnfHitpoints	rs.b	1

TEMET_Last_GFX	rs.w	1
TEMET_Prio	rs.w	1

Shield_Col_Pnt_Time	rs.l	1
Shield_Col_Pnt_Norm	rs.l	1
Shield_Col_Pnt_Fla	rs.l	1

Flash_Obj0	rs.w	9
Flash_Koords_Tab	rs.b	4*10
Flash_Koords_Offs	rs.w	1

Get_Zuffi_Val	rs.w	1

Spur_counter	rs.b	1
Spur_JoyPad	rs.b	1
Spur_Pointer	rs.l	1
Glo_Welt	rs.w	1

RAM_Extras	rs.b	EXTRA_ANZ*EXTRA_LENGTH

Area_Enter_Vector	rs.l	1

Scr_Macros		rs.w	260*4

		***!!!
STOP_Bumping		rs.w	1
TEMET_Fallen_Cnt	rs.w	1
TEMET_Add_Flag	rs.w	1

	;Bob-System
Bob_Structure		rs.b	BOB_MAXIMUM*BOB_ENTRY_LENGTH
Bob_Structure_End	EQU	Bob_Structure+(BOB_MAXIMUM*BOB_ENTRY_LENGTH)+WorkRam

BackAnim_Structure	rs.b	BACK_MAXIMUM*BOB_ENTRY_LENGTH
BackAnim_Structure_End	EQU	BackAnim_Structure+(BACK_MAXIMUM*BOB_ENTRY_LENGTH)+WorkRam

	;Multiplikations-tabelle fr Levelbreiten.
Block_Table		rs.w	$d0

	;Color_System
Coltab_Buffer		rs.w	64

	;Bob Info Liste

Bob_Info_Tab_Adrs	rs.w	128

	;Different Tasks
Task_Buffer		rs.b	$800

Fade_Struktur		rs.b	FADE_SIZEOF+64*6

Area_Vector	rs.b	10240

Scratch_Buffer	rs.b	0
